<?php
//缩略图处理
class Thumb{
	//缩略图宽度
	public $thumb_w = 300;

	//缩略图高度
	public $thumb_h = 300;

	//缩略后的文件名后缀
	public $fix = '_thumb';

	public function __construct(){}
	
	public function thumb($file)
	{	//创建画布
		$res = imagecreatetruecolor($this->thumb_w, $this->thumb_h);
		//取得画布宽度
		$res_w = imagesx($res);
		//取得画布高度
		$res_h = imagesy($res);
		//获取图片资源
		$img = $this->getImageRes($file);
		//获取要处理图片的原始宽度与高度
		$img_w = imagesx($img);
		$img_h = imagesy($img);

		if($img_w/$res_w>$img_h/$res_h)
		{
			$img_w=$img_h/$res_h*$res_w;
		}
		else
		{
			$img_h=$img_w/$res_w*$res_h;
		}

		
		imagecopyresized($res, $img, 0, 0, 0, 0,
		 $res_w, $res_h, $img_w, $img_h);

		//保存图片
		// 获取图片的信息
		$info =getimagesize($file);
		// 获得去除'/'后的mime
		$func = str_replace('/','',$info['mime']);


		//缩略图文件名
		$fileInfo = pathinfo($file);
		print_r($fileInfo);
		$thumb_file = $fileInfo['filename'].$this->fix.'.'.$fileInfo['extension'];
		//保存缩略图
		$func($res,$thumb_file,80);
	}


	//根据传入的文件名产生图片资源
	private function getImageRes($file)
	{
		$info = getimagesize($file);
		$type = explode('/',$info['mime']);
		//生成图片的PHP函数
		$func= 'imagecreatefrom'.$type[1];
		//使用变量函数的特性产生图像资源
		return $func($file);
	}
}











